package com.njtoyo.taxi.admin.rest.presenter.business.taxis;

import com.njtoyo.taxi.admin.library.common.GeoPoint;
import com.njtoyo.taxi.admin.mapper.master.entity.Driver;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
public class TaxisPresenter implements Serializable {

    @ApiModelProperty(value = "车辆ID")
    private Long id;

    @ApiModelProperty(value = "车牌号")
    private String plateNumber;

    @ApiModelProperty(value = "发动机号")
    private String serialNumber;

    @ApiModelProperty(value = "是否报废")
    private Boolean isScrapped;

    @ApiModelProperty(value = "是否可用")
    private Boolean  isAvailable;

    @ApiModelProperty(value = "行政区id")
    private Long cantonId;

    @ApiModelProperty(value = "行政区城市")
    private String cantonName;

    @ApiModelProperty(value = "公司ID")
    private Long companyId;

    @ApiModelProperty(value = "公司名称")
    private String companyName;

    @ApiModelProperty(value = "司机个数")
    private Integer count;

    @ApiModelProperty(value = "司机")
    private List<Driver> drivers;

    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    @ApiModelProperty(value = "修改时间")
    private Date updatedAt;

    @ApiModelProperty(value = "最后更新司机坐标的时间戳")
    private Long lastLocateTimestamp;

    @ApiModelProperty(value = "最后更新司机坐标的定位")
    private GeoPoint lastLocate;
    private String gpsTime;
    private String locateUpdatedAt;
    private String deviceId;
    private Date loginTime;
    private String version;


    @Data
    public static class DriverTaxisData {
        @ApiModelProperty(value = "司机ID")
        private Long id;
        private Long taxiId;
        @ApiModelProperty(value = "司机姓名")
        private String name;
        @ApiModelProperty(value = "司机手机号")
        private String mobileNumber;
        @ApiModelProperty(value = "是否已离职：0:未离职，1:已离职")
        private Boolean isLeave;
    }
}
